package com.yanfan.access.domain;

import java.util.Date;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yanfan.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 人员管理对象 nj_person_info
 *
 * @author genluo
 * @date 2024-11-05
 */

@Data
public class NjPersonInfo implements Serializable{

private static final long serialVersionUID=1L;

    /**
     * 人员记录ID
     */
    @Excel(name = "人员记录ID")
    @TableId(value = "id" , type = IdType.AUTO) // 整型类型使用自增
    private Long id;

    /**
     * 人员编号
     */
    @Excel(name = "人员编号")
    private String code;

    /**
     * 人员姓名
     */
    @Excel(name = "人员姓名")
    private String name;

    @TableField(exist = false)
    private JSONArray personBiosignatures;
    @TableField(exist = false)
    private JSONArray departmentList;

    /**
     * 性别
     */
    @Excel(name = "性别")
    private Integer sex;

    /**
     * 生日
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "生日" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;

    /**
     * 证件类型
     */
    @Excel(name = "证件类型")
    private Long paperType;

    /**
     * 证件类型
     */
    @Excel(name = "证件类型")
    private String paperTypeName;

    /**
     * 证件号码
     */
    @Excel(name = "证件号码")
    private String paperNumber;

    /**
     * 国家
     */
    @Excel(name = "国家")
    private String country;

    /**
     * 民族
     */
    @Excel(name = "民族")
    private Long nation;

    /**
     * 民族名称
     */
    @Excel(name = "民族名称")
    private String nationName;

    /**
     * 部门ID
     */
    @Excel(name = "部门ID")
    private Long departmentId;

    /**
     * 部门名称
     */
    @Excel(name = "部门名称")
    private String departmentName;

    /**
     * 部门名称扩展
     */
    @Excel(name = "部门名称扩展")
    private String departmentNameExt;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private Integer status;

    /**
     * 密码
     */
    @Excel(name = "密码")
    private String password;

    /**
     * 年龄
     */
    @Excel(name = "年龄")
    private Long age;

    /**
     * 组织代码
     */
    @Excel(name = "组织代码")
    private String ownerCode;

    /**
     * 人员身份标识ID
     */
    @Excel(name = "人员身份标识ID")
    private Long personIdentityId;

    /**
     * 人员类型
     */
    @Excel(name = "人员类型")
    private String personType;

    /**
     * 是否为管理员
     */
    @Excel(name = "是否为管理员")
    private Integer isAdmin;

    /**
     * 是否已绑定
     */
    @Excel(name = "是否已绑定")
    private Integer isBind;

    /**
     * 记录更新时间
     */
    @Excel(name = "记录更新时间")
    private Long recordUpdateTime;

    /**
     * 图片地址
     */
    @Excel(name = "图片地址")
    private String imageUrl;


}
